﻿using System;
using System.Collections.Generic;
using System.Runtime.Serialization;

namespace RemoteTestRunner.Contracts
{
    [DataContract]
    public class TestResult
    {
        #region Constructors

        public TestResult()
        {
            TestResults = new List<TestResultInfo>();
            MultiAssertResults = new List<TestResultMultiAssertResult>();
        }

        #endregion

        #region Properties

        [DataMember]
        public string Path { get; set; }

        [DataMember]
        public List<TestResultMultiAssertResult> MultiAssertResults { get; set; }

        [DataMember]
        public string MultiAssertReport { get; set; }

        [DataMember]
        public string ExecutionId { get; set; }

        [DataMember]
        public string Outcome { get; set; }

        [DataMember]
        public int TotalCount { get; set; }

        [DataMember]
        public int TotalExecuted { get; set; }

        [DataMember]
        public int TotalPassed { get; set; }

        [DataMember]
        public int TotalFailed { get; set; }

        [DataMember]
        public int TotalTimedOut { get; set; }

        [DataMember]
        public int TotalInconclusive { get; set; }

        [DataMember]
        public List<TestResultInfo> TestResults { get; set; }

        [DataMember]
        public string TestRunName { get; set; }

        [DataMember]
        public string TestRunId { get; set; }

        [DataMember]
        public DateTime TestStartTime { get; set; }

        #endregion
    }
}